package com.demo.sharelucas.record;

/**
 * 这个 Record 类型自动生成以下功能：
 *
 * 构造函数 Person(String name, int age)
 * toString() 方法，返回 Person[name=John, age=25]
 * equals() 和 hashCode() 方法基于字段值
 * Getter 方法 name() 和 age() 来访问数据
 */
public record Person1(String name, int age) {

    public Person1 {
        // 验证年龄必须为正数
        if (age < 0) {
            throw new IllegalArgumentException("Age must be positive");
        }
    }

    // 添加实例方法
    public String greet() {
        return "Hello, my name is " + name;
    }

    // 添加静态方法
    public static Person1 of(String name, int age) {
        return new Person1(name, age);
    }
}
